草庐IT

C++::Boost::Regex 迭代子匹配

全部标签

email - 在网站中匹配正则表达式电子邮件

我尝试在goland的网站中使用文件包含url查找电子邮件匹配项,例如,如果我在文件中放入“http://facebook.com”,他将尝试在网站中查找所有电子邮件,但他总是结果0。我想我选择了错误的功能,但我试图找到其他功能,但我得到了相同的结果。这里的代码:packagemainimport("bufio""bytes""fmt""log""net/http""os""regexp""sync")funcmain(){varwgsync.WaitGroupwg.Add(1)goemailWeb(os.Args[1],&wg)wg.Wait()}funcemailWeb(names

regex - 去正则表达式 : how I can replace named groups by concrete values in source pattern?

也许,你可以帮我。例如,我有像(?P\w+)(?P\w+)这样的正则表达式.我如何使用map[string]string{"name":"Alice","surname":"Cool"}替换组以获得字符串AliceCool?这可能吗?谢谢。 最佳答案 好的,我找到了制作方法。希望它会对某人有所帮助。https://play.golang.org/p/Xz9PtE_bIt 关于regex-去正则表达式:howIcanreplacenamedgroupsbyconcretevaluesins

正则表达式一个或多个 vs n+1 匹配

我发现我的go项目中的正则表达式替换非常慢,\s+被替换为使用regexp.ReplaceAllLiteralString(re2)的单个空格。显然放在那里是为了折叠SVG中的空白,不管这是否是个好主意,当更改为“{2,}”时,操作时间是十分之一。虽然使用\s与''是一个公平的区别-但这是有道理的,它是比较的5倍。但为什么当使用单个空格和+时,它比使用{2,}慢9倍? 最佳答案 X+表示“出现一次或多次的X的每个实例”,这意味着它等同于{1,}。在使用\s+时,您要替换(一个空格)和。对于SVG文档或与此相关的任何XML文档,使用\

regex - HostRegexp 失败

我正在尝试将TraefikHostRegexp用于前端规则。我正在尝试这样的事情:HostRegexp:{subdomain:.+}.p([0-9]+)+(env1|env2).mydomain.com但这并不像我想要的那样工作。我希望traefik在使用这些URL时路由到我的apache服务器:A.B.C.pXX.env1.mydomain.comA.B.C.pXX.env2.mydomain.com任何线索?我的正则表达式做错了什么? 最佳答案 正确的正则表达式是:HostRegexp:{subdomain:.+.p([0-9]

go - 活泼的版本不匹配问题

我正在OSX上运行一些go程序但是得到了dyld:Librarynotloaded:/usr/local/lib/libsnappy.1.dylibReferencedfrom:/private/var/folders/n3/g8c23hd44v6q5f3xll_0hm80000gn/T/__TestS3Download_in_budget_test_goReason:Incompatiblelibraryversion:___TestS3Download_in_budget_test_gorequiresversion4.0.0orlater,butlibsnappy.1.dylib

html - 父子正则表达式匹配

正则表达式一直是我的弱点,所以我需要一些帮助。我基本上是尝试在这些标签内部使用相同的正则表达式打开和关闭“标签”。所以标签可能看起来像:[innercode]所以带有子标签的可能是这样的:Thisisatag:[innercode]thatwasatag所以我尝试了一些正则表达式代码,但无法弄清楚如何让父标签不以子标签结尾。所以这是我尝试过的正则表达式之一:([\s\S\t\r]*)这适用于单级标签,但不适用于父/子标签。感谢任何帮助。 最佳答案 正如评论中所说,构建您的解析器。这里有示例(下一个答案)和更多资源:https://s

json - 如何使用 BleveSearch 获得精确的短语匹配?

我正在从数据集中搜索特定短语的同义词。我有2个JSON文件,其中存储的数据由yes和no的同义词组成。如果我查询“不感兴趣”,它会同时给出是和否短语/同义词作为结果,预期结果只是没有短语/同义词。zh-cn-yes.json{"tag":"en-gen-yes","phrases":["yes","yeah","sure","suitsme","interested"]zh-cn-gen-no.json{"tag":"en-gen-no","phrases":["no","nope","notsure","doesnotsuitsme","notinterested"]查询代码quer

regex - Go 中的 "Unknown escape sequence"错误

我用Go编写了以下函数。这个想法是该函数有一个字符串传递给它并返回找到的第一个IPv4IP地址。如果未找到IP地址,则返回空字符串。funcparseIp(checkIpBodystring)string{reg,err:=regexp.Compile("[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")iferr==nil{return""}returnreg.FindString(checkIpBody)}我得到的编译时错误是unknownescapesequence:.我如何告诉Go'.'是我正在寻找的实际字符?我以为逃避它会成功,但显然我错了。

regex - 正则表达式 Go lang 错误

我正在尝试在Go语言中使用这个正则表达式:~((?在每个人中我都得到了这个错误:panic:regexp:Compile(~((?):errorparsingregexp:invalidorunsupportedPerlsyntax:(?也许有人知道一个技巧?:/还是不可能使用它们? 最佳答案 如果不支持回顾,请使用如下解决方法:((^|\s)\S)(\s)(?=\S(\s|$))哪里:捕获组1包含要写回的内容以代替向后看。捕获组3是有问题的实际空白。它在一个捕获组中只是为了将它与整个比赛分开。总结:第1组+第3组=整场比赛。展开:

go - 使用 gorilla 多路复用器路由器时如何忽略一个词并匹配所有其他词?

例如,我有一个处理“/items/{item-id}”的函数和另一个处理“/items/request-task”的函数。如何让第一个函数忽略“/items/request-task”并匹配其余的? 最佳答案 像这样。packagemainimport("net/http""github.com/gorilla/mux")funcmain(){r:=mux.NewRouter()r.HandleFunc("/items/request-task",func(whttp.ResponseWriter,r*http.Request){w